#!/usr/bin/python
# -*-coding:UTF-8 -*-

# ========================
# @Time  : 2021/1/25
# @Author: Sunny
# ========================

hh=1
"""
匿名函数：适用于函数内部，语法特别简单的函数
语法： lambda 参数: 返回值表达式

"""

#常规函数语法
def func(a,b):
    return a + b

#匿名函数语法
func_add = (lambda  x,y:x+y)
print(func_add(100,200))

res = (lambda  x,y:x+y)(2,3)
print(res)



#------------------匿名函数结合 内置函数：filter过滤器-------------------

Names=['python','java','php','c','c++','django','unittest','pytest','pymysql']


def fun(x):
    return len(x)>4

#filter过滤器，会自动遍历Names这个可迭代对象，把遍历的数据当成参数传入函数里面，
# 根据函数的返回值是Ture还是False，是Ture，就保存到filter对象里面去
data1 = filter(fun,Names)
print(list(data1))

#用匿名函数简写
data2 = filter(lambda x:len(x)>4,Names)
print(list(data2))




#--------------------匿名函数结合 推导式使用--------------------------------
li = [123,234,234,56,78,333,666]

li2 = [(lambda x:x/5)(i) for i in li]
print(li2)